package com.mm.support.domain;

import javax.persistence.Column;
import javax.persistence.EntityListeners;
import javax.persistence.MappedSuperclass;
import javax.persistence.Transient;
import java.util.Date;


@MappedSuperclass
@EntityListeners(SaveListenerImpl.class)
public class IdentifiedAuditableDomainObject {
    @Column(name="CREADO_POR",columnDefinition="VARCHAR(25)")
    private String creadoPor;

    @Column(name="FECHA_CREACION",columnDefinition = "DATETIME2")
    private Date fechaCreacion;

    @Column(name = "MODIFICADO_POR",columnDefinition="VARCHAR(25)")
    private String modificadoPor;

    @Column(name="FECHA_MODIFICACION",columnDefinition = "DATETIME2")
    private Date fechaModificacion;

    @Transient
    private boolean auditable=true;

    public String getCreadoPor() {
        return creadoPor;
    }

    public void setCreadoPor(String creadoPor) {
        this.creadoPor = creadoPor;
    }
    public Date getFechaCreacion() {
        return fechaCreacion;
    }

    public void setFechaCreacion(Date fechaCreacion) {
        this.fechaCreacion = fechaCreacion;
    }

    public String getModificadoPor() {
        return modificadoPor;
    }

    public void setModificadoPor(String modificadoPor) {
        this.modificadoPor = modificadoPor;
    }

    public Date getFechaModificacion() {
        return fechaModificacion;
    }

    public void setFechaModificacion(Date fechaModificacion) {
        this.fechaModificacion = fechaModificacion;
    }

    public boolean isAuditable() {
        return auditable;
    }

    public void setAuditable(boolean auditable) {
        this.auditable = auditable;
    }
}
